package com.loong.loong.hik.api.entity.resource;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 【动环-传感器】PeTransducerDTO属性说明
 * @author jinyiang
 * @date 2023/3/22 10:03
 */
@Data
@TableName("hik_resource_pe_transducer")
public class HikResourcePeTransducer {

	private static final long serialVersionUID = 1L;

	/**
	 * 资源类型
	 */
	@NotBlank(message = "资源类型不能为空")
	@Size(max = 64, message = "资源类型长度不能超过64")
	@TableField("resource_type")
	private String resourceType;

	/**
	 * 传感器唯一标识
	 */
	@NotBlank(message = "传感器唯一标识不能为空")
	@Size(max = 64, message = "传感器唯一标识长度不能超过64")
	@TableField("index_code")
	private String indexCode;

	/**
	 * 传感器名称
	 */
	@NotBlank(message = "传感器名称不能为空")
	@Size(max = 32, message = "传感器名称长度不能超过32")
	@TableField("name")
	private String name;

	/**
	 * 所属区域编号
	 */
	@NotBlank(message = "所属区域编号不能为空")
	@Size(max = 64, message = "所属区域编号长度不能超过64")
	@TableField("region_index_code")
	private String regionIndexCode;

	/**
	 * 所属区域路径
	 */
	@NotBlank(message = "所属区域路径不能为空")
	@Size(max = 340, message = "所属区域路径长度不能超过340")
	@TableField("region_path")
	private String regionPath;

	/**
	 * 父级资源编号
	 */
	@Size(max = 64, message = "父级资源编号长度不能超过64")
	@TableField("parent_index_code")
	private String parentIndexCode;

	/**
	 * 解析类型
	 */
	@NotBlank(message = "解析类型不能为空")
	@Size(max = 32, message = "解析类型长度不能超过32")
	@TableField("explain_type")
	private String explainType;

	/**
	 * 设备能力
	 */
	@Size(max = 256, message = "设备能力长度不能超过256")
	@TableField("capability")
	private String capability;

	/**
	 * 传感器设备厂家
	 */
	@Size(max = 64, message = "传感器设备厂家长度不能超过64")
	@TableField("device_company")
	private String deviceCompany;

	/**
	 * 安装位置
	 */
	@Size(max = 64, message = "安装位置长度不能超过64")
	@TableField("install_location")
	private String installLocation;

	/**
	 * 通信地址（槽位号）
	 */
	@Size(max = 64, message = "通信地址（槽位号）长度不能超过64")
	@TableField("address_no")
	private String addressNo;

	/**
	 * 通道号
	 */
	@Size(max = 64, message = "通道号长度不能超过64")
	@TableField("channel_no")
	private String channelNo;

	/**
	 * 通道子类型
	 */
	@Size(max = 32, message = "通道子类型长度不能超过32")
	@TableField("channel_type")
	private String channelType;

	/**
	 * 传感器类型
	 */
	@Size(max = 32, message = "传感器类型长度不能超过32")
	@TableField("transducer_type")
	private String transducerType;

	/**
	 * 接入协议
	 */
	@Size(max = 16, message = "接入协议长度不能超过16")
	@TableField("treaty_type")
	private String treatyType;

	/**
	 * 时区ID
	 */
	@Size(max = 32, message = "时区ID长度不能超过32")
	@TableField("zone_id")
	private String zoneId;

	/**
	 * 创建时间
	 */
	@NotBlank(message = "创建时间不能为空")
	@Size(max = 64, message = "创建时间长度不能超过64")
	@TableField("create_time")
	private String createTime;

	/**
	 * 更新时间
	 */
	@NotBlank(message = "更新时间不能为空")
	@Size(max = 64, message = "更新时间长度不能超过64")
	@TableField("update_time")
	private String updateTime;

	/**
	 * 描述
	 */
	@Size(max = 128, message = "描述长度不能超过128")
	@TableField("description")
	private String description;

}
